package com.mengwen.backstage.util;

import com.mengwen.backstage.pojo.AccessToken;
import com.mengwen.backstage.pojo.Button;
import com.mengwen.backstage.pojo.Menu;
import com.mengwen.backstage.pojo.ViewButton;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
 * 菜单管理器类
 * 
 */
public class MenuManagerUtil {
	public final static String REAL_URL="http://mengwen.natapp1.cc"; //个人花生壳
	public final static String appId = "wxc418043b4b66e868";  // 部署的时候改过来
	public final static String appSecret = "5084e299c6620ca05c1468f22fd98fbc";
	private static Logger log = LoggerFactory.getLogger(MenuManagerUtil.class);
/***
 * 自定义菜单的创建步骤
	1、找到AppId和AppSecret。自定义菜单申请成功后，在“高级功能”-“开发模式”-“接口配置信息”的最后两项就是；
	2、根据AppId和AppSecret，以https get方式获取访问特殊接口所必须的凭证access_token；
	3、根据access_token，将json格式的菜单数据通过https post方式提交。

 */
	public static void resultMenu(){
		// 调用接口获取access_token
		AccessToken at = WeixinUtil.getAccessToken(appId, appSecret);

		if (null != at) {
			// 调用接口创建菜单
			int result = WeixinUtil.createMenu(getMenu(), at.getToken());

			// 判断菜单创建结果
			if (0 == result)
				log.info("菜单创建成功！");
			else
				log.info("菜单创建失败，错误码：" + result);
		}
	}
	/**
	 * 组装菜单数据
	 * @return
	 */
	private static Menu getMenu() {
		ViewButton btn10 = new ViewButton();
		btn10.setName("进入萌问服务平台");
		btn10.setType("view");
//		btn10.setUrl(MenuManager.REAL_URL + "/send");
		btn10.setUrl(MenuManagerUtil.REAL_URL + "/mengwen/oauth/user_info");
//		btn10.setUrl(MenuManagerUtil.REAL_URL + "/test_jssdk");
//		btn10.setUrl(MenuManagerUtil.REAL_URL + "/to_now_data");
//		btn10.setUrl(MenuManagerUtil.REAL_URL + "/test_share");
		Menu menu = new Menu();
		menu.setButton(new Button[]{btn10});
		System.out.println(menu.toString());
		return menu;
	}

	public static void main(String[] args) {
		// 第三方用户唯一凭证
		String appId = MenuManagerUtil.appId;
		// 第三方用户唯一凭证密钥
		String appSecret = MenuManagerUtil.appSecret;
		// 调用接口获取access_token
		AccessToken at = WeixinUtil.getAccessToken(appId, appSecret);

		if (null != at) {
			// 调用接口创建菜单
			int result = WeixinUtil.createMenu(getMenu(),at.getToken());

			// 判断菜单创建结果
			if (0 == result)
				log.info("菜单创建成功！");
			else
				log.info("菜单创建失败，错误码：" + result);
		}
	}
}
